package com.atguigu.jxc.service;

import com.atguigu.jxc.domain.ServiceVO;
import com.atguigu.jxc.entity.PurchaseList;
import com.atguigu.jxc.entity.PurchaseListGoods;

import java.util.List;
import java.util.Map;

public interface PurchaseListService {
    /**
     * 进货单保存
     * @param purchaseList
     * @param purchaseNumber
     * @param purchaseListGoodsStr
     * @return
     */
    ServiceVO<PurchaseList> savePurchaseListAndGoods(PurchaseList purchaseList,String purchaseNumber,String purchaseListGoodsStr);
    /**
     * 进货单列表展示（可条件查询：单据号模糊、供应商、是否付款和日期区间）
     * @param purchaseNumber
     * @param supplierId
     * @param state
     * @param sTime
     * @param eTime
     * @return
     */
    List<PurchaseList> getPurchaseList(String purchaseNumber, Integer supplierId, Integer state, String sTime, String eTime);

    /**
     * 查询进货单商品信息
     * @param purchaseListId
     * @return
     */
    List<PurchaseListGoods> getPurchaseListGoodsList(Integer purchaseListId);
    //进货单删除 并删除进货单对应商品
    ServiceVO deletePurchaseList(Integer purchaseListId);
    //1.1、支付结算（修改进货单付款状态）
    ServiceVO updateStatePurchaseList(Integer purchaseListId);
    //3.1、进货统计（可根据 商品类别、商品编码或名称 条件查询）
    String countPurchaseListGoodsList(String sTime, String eTime, Integer goodsTypeId, String codeOrName);
}
